Mobile devices have become widely adopted by the public. Mobile devices include smart phones and feature phones, personal digital assistant (PDA) devices, tablets, laptops, wearable computing devices in various forms and other portable computing devices. Their mobility has given rise to numerous location-based functionalities and services implemented on them. A prerequisite to these functionalities and services is the ability of a mobile device to estimate its geographic location.
Two groups of systems and methods can be used by a mobile device to estimate its location.
The first group is based on navigation satellite. A mobile device can be equipped with one or more receivers of one or more global navigation satellite systems, such as the Global Positioning System (GPS). Such device can estimate its current location based on signals from relevant navigation satellites. Navigation satellite based methods require an unobstructed view of the sky to function properly. They work poorly or not at all when satellite signals are attenuated or interfered significantly (e.g. inside a building with thick walls). Associated latency, the delay from requesting a location estimate to obtaining it, can be significant. Required power consumption can be nontrivial.
The second group is based on location server. A location server can be a system which is configured to provide a location estimate of a mobile device based on environmental information collected on the device. An exemplary location server based method can be described as the following. The device can collect environmental information (e.g. identifiers of detected wireless access routers and cell towers). The device can transmit the collected information to a location server. Upon receiving necessary information from the device, the location server can generate a response and transmit it back to the device. Upon receiving the response, the device can process it to obtain an location estimate.
A location server can be remote. A remote location server is connected to the mobile device via a wireless communications network, a wired network or a combination of both. A mobile device can utilize a remote location server based method only when it is connected to the server. As two-way communications between the mobile device and the remote location server are required in such method, associated latency is dependent on the state of the connecting network. It can be highly variable. Accuracy of estimation depends on many factors which can not be controlled by the device, including the configuration and method used on the remote server. Location security and mobile device user's privacy can be comprised as a result of the fact that information related to device location is transmitted over network to a remote server and server response is transmitted back to the device over network. Each transmission can potentially be exploited by a malicious attacker or eavesdropper.
A location server can also be local. A local location server is entirely implemented on a mobile device. Using local location server can mitigate or avoid network related limitations in remote location server based methods. However, for a local location server to function independently and satisfactorily, it needs to store a large amount of data covering a large geographic area on the device. It also needs to be able to perform significant amount of data processing on the device within a reasonably short time. Those requirements are difficult to meet by many current mobile devices. In addition, related power consumption would be significant. Thus, independent local location server is rarely, if at all, used on current mobile devices.
Navigation satellite based and remote location server based methods can be used in combination. They can be combined in numerous ways. For example, they can be combined sequentially where the next method starts only when the previous one fails. They also can be combined parallel where two methods run at the same time. Combination provides higher estimation availability since any one method working would provide a location estimate. Parallel combination of two methods reduces overall latency to the shorter between the two. However, almost all other limitations are not addressed. Some are even worsened by combination. For example, total power consumption can be the sum of that of each method in a combination. Maximum possible latency can be the sum of latency of each method in a sequential combination. Potential compromise of location security and user privacy in remote location server based method can not be mitigated simply by its combination with other method.
A few other observations related to location estimation on a mobile device can be made:                1. Many stationary wireless access gateways exist today. Wireless access gateways include, for example, cell towers, wireless access routers of a wireless local area network (WLAN), a metropolitan area network (MAN), or a personal area network (PAN). When they broadcast wireless signals, their signals can be detected by a mobile device equipped with a properly configured wireless transceiver within their range. Estimates of their geographic locations can provide useful information about the location of the mobile device.        2. Location estimates can be noisy. There can be occasions that the estimated location of a stationary wireless access gateway differs substantially from its true geographic location.        3. Not all wireless access gateways are stationary. Wireless routers mounted on mobile vehicles and wireless routers implemented by a WiFi Direct™ enabled device operating in WiFi Direct™ mode can be mobile. Estimates of their geographic locations should not be used in determining a mobile device's location.        4. The total number of wireless access gateways whose signals can be detected by a mobile device carried by a typical user can be limited. Location estimates and other useful information of such wireless access gateways can be stored entirely on some mobile devices, and can be processed within a reasonably short time by such devices.        